package com.szrt.java.day20161227.demo01;


import java.util.Arrays;

import org.junit.Test;


/**
 * 当定义一个数组。就必须显示或者隐式定义数组的长度。
 * @author Administrator
 *
 */
public class ArrayDemo {
	
	
	/**
	 * 高级的for循环 要求熟练掌握 
	 * 
	 * 优点：可以简化开发
	 * 缺点：不能拿到value的下标
	 * 
	 * 	for(变量的类型 变量的名称 : 数组的名称){
	 * 		
	 *  }
	 * @throws Exception
	 */
	@Test
	public void dome04() throws Exception {
		int[] ages;
		ages= new int[3];
		
		//使用下标给元素赋值
		ages[0]= 23;
		ages[1]= 18;
		ages[2]= 16;
		
		System.out.println("一般的循环===================");
		
		for(int index =0; index<ages.length;index++){
			int value =ages[index];
			System.out.println(value);
		}
		
		System.out.println("高级循环===================");
		for(int value : ages){
			System.out.println(value);
		}
	}
	
	@Test
	public void dome03() throws Exception {
		
		//数组的空间是连续的。 动态的初始化
		//定义出来的变量ages保存在栈空间中。new 保存在堆空间
		int[] ages = new int[3];
		
		//使用下标给元素赋值
		ages[0]= 23;
		ages[1]= 18;
		ages[2]= 16;
		
		ages[1]= 19;
		
		for(int index =0; index<ages.length;index++){
			System.out.println(ages[index]);
		}
		
		
		//System.out.println(ages[1]);
	}
	
	@Test
	public void dome02() throws Exception {
		
		//数组的空间是连续的。 动态的初始化
		//定义出来的变量ages保存在栈空间中。new 保存在堆空间
		int[] ages = new int[3];
		
		//使用下标给元素赋值
		ages[0]= 23;
		ages[1]= 18;
		ages[2]= 16;
		ages[1]= 19;
		
		
		System.out.println(ages[2]);
		
		int len = ages.length;
		
		System.out.println(len);
	}
	
	@Test
	public void dome01() throws Exception {
		//静态的初始化
		int[] ages = new int[]{23,18,16};
		int[] score = {75,80,95};
		System.out.println(ages[0]);
		System.out.println(Arrays.toString(score));
	}
	

}
